Webhook para backup externo
O Webhook Adicional permite enviar automaticamente para um endpoint externo todas as mensagens, status, criações e atualizações de sessões registradas pelo bot. Esses dados são armazenados no banco de dados através do Consumer, e, quando salvos, podem ser enviados simultaneamente para um webhook adicional.
O que será enviado?
Sessões
O webhook enviará dados sobre criação e atualização de sessões. As atualizações incluem a adição de tags, variáveis ou finalização da sessão.
Criação da sessão: Os seguintes dados são enviados no início da conversa:
| Campo | Descrição |
|---|---|
| bolId | Identificador único do bot |
| sessionId | Identificador único da sessão |
| channel | Canal utilizado na conversa |
| contact | Identificação do contato |
| numberchip | Número configurado no bot (lado empresa) |
| createdAt | Data/hora da criação da sessão |
Método: POST
Url: baseUrl/sessions (identificar na criação do projeto) Headers:
<label:value>(optional) Payload:{botId, sessionId, channel, contact, numberchip, createdAt}
Atualização de sessões: Sempre que uma sessão for atualizada ou finalizada, os seguintes dados serão enviados:
| Campo | Descrição |
|---|---|
| sessionId | Identificador único da sessão |
| tags | Tags identificadas na sessão |
| variable | Atualização de variáveis durante a sessão |
| finishedAt | Data/hora da finalização da conversa |
| sessionDuration | Duração da sessão em milissegundos |
| finished | Indicativo de finalização ou não da sessão |
| updatedAt | Data/hora da atualização corrente |
Método: PUT
Url: baseUrl/sessions/:sessionId Payload:
{sessionId, finished, finishedAt, sessionDuration, updatedAt, tags, variables,}
Mensagens
Todos os envios de mensagens e atualizações de status serão enviados para o webhook.
Criação de mensagens: Sempre que uma nova mensagem for registrada, os seguintes dados serão enviados:
| Campo | Descrição |
|---|---|
| sessionId | Identificador único da sessão |
| messageld | Identificação única da mensagem |
| text | Texto (ou link da mídia) da mensagem corrente |
| type | Tipo da mensagem (text, media, etc..) |
| clientSent | Indicativo da direção da mensagem (true se enviada pelo cliente) |
| when | Data/hora do envio |
Método: POST
Url: baseUrl/messages Payload:
{sessionId, messageId, text, type, clientSent, when}
Status
Criação de status: As atualizações de status das mensagens serão enviadas automaticamente.
| Campo | Descrição |
|---|---|
| messageld | Identificação única da mensagem |
| status | Descritivo do evento de status (sent, read, etc...) |
| when | Data / hora do envio |
Método: POST
Url: baseUrl/messages/status/:messageId Payload:
{messageId, status, when,}
Eventos
O webhook também captura eventos especiais, como ações de IA, requisições de API e passagens por blocos que contenham tags.
| Campo | Descrição |
|---|---|
| eventId | Identificador único do evento |
| sessionId | Identificador único da sessão |
| type | Identificador do tipo do evento corrente |
| value | Descritivo do evento corrente |
| when | Data / hora do evento |
Criação de eventos: será enviado toda a vez que um evento é registrado.
Método: POST
Url: baseUrl/event Payload:
{eventId, sessionId, type, value, when}
Configuração
Para ativar essa funcionalidade em um bot específico, siga os passos abaixo:
- adicione a configuração no Consumer: No arquivo de variáveis de ambiente do Consumer, adicione uma chave com o botId e o endpoint base para envio dos dados.
- envio automático dos dados: Após essa configuração, sempre que uma sessão ou mensagem for registrada, os dados serão enviados automaticamente para o webhook definido.